package JavaSE.CODE.javaCollection;

import java.lang.reflect.Array;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Comparator;
import java.util.Iterator;

public class CollectionDemo {
    public static void main(String[] args) {
        //创建集合
        //Collection是接口，接口引用可以指向实现类的实例
        //类的引用，其实就是类变量
        Collection collection = new ArrayList();
//        (1)添加元素
        collection.add("a");
        collection.add("a");
        collection.add("b");
        System.out.println(collection.size());
        System.out.println(collection);
//        直接打印会默认调用toString方法
//        (2)删除元素
        collection.remove("a");//如果有很多，remove只会删除一个元素
        System.out.println(collection);
//        (3)遍历元素【重点】
        //3.1使用增强for
        for (Object o : collection) {
            System.out.println(o);
        }
        //3.2使用迭代器
        //迭代器：是一种专门用来遍历集合的一种方式
        //hasNext();有没有下一个元素，
        //next();获取下一个元素
        //remove();删除当前元素

        Iterator iterator = collection.iterator();
        while(iterator.hasNext()){
            String s = (String)iterator.next();
            //父类转子类要强制 Object → String

//            iterator.remove();

//          collection.remove(s);不能这样写
//      迭代器迭代过程中是不允许用Collection的remove方法删除的，其他操作元素也不可
        }
        //iterator的指针问题



//        (4)判断
        System.out.println(collection.contains("a"));
        System.out.println(collection.isEmpty());






    }
}
